unit CaixaVendasRecordFr;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, DBCtrls, ActnList, ExtCtrls, DBGrids, Buttons,
  MainRecordFr, Grids, ComCtrls;

type

  { TCaixaVendasRecordFrame }

  TCaixaVendasRecordFrame = class(TMainRecordFrame)
    Buscar: TBitBtn;
    CartaoEdit: TEdit;
    ChequeEdit: TEdit;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBGrid1: TDBGrid;
    DinheiroEdit: TEdit;
    TransferenciaEdit: TEdit;
    BoletoEdit: TEdit;
    ReceitaEdit: TEdit;
    DespesaEdit: TEdit;
    FecharCaixaAction: TAction;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    GroupBox5: TGroupBox;
    IDCaixaEdit: TDBEdit;
    Label1: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    LocalizarCaixaAction: TAction;
    Panel26: TPanel;
    Panel27: TPanel;
    PanelTotal: TPanel;
    PrazoEdit: TEdit;
    procedure BuscarClick(Sender: TObject);
    procedure FecharActionExecute(Sender: TObject);
    procedure InsereValoresTotais(Sigla: string; Valor: string);
    procedure Limpar();
  private
    { private declarations }
  public
    { public declarations }
  end;

implementation

uses
  CaixaDM, MainDM, Initializator,MainFr;

{ TCaixaVendasRecordFrame }


procedure TCaixaVendasRecordFrame.BuscarClick(Sender: TObject);
var
  I:Integer;
  SiglaPagamento:string;
begin
  if (IDCaixaEdit.Text <> '') then begin
    CaixaMovimentacaoData.BuscaVendas(IDCaixaEdit.Text);
    CaixaMovimentacaoData.BuscaValoresTotaisVenda(IDCaixaEdit.Text);
    with CaixaMovimentacaoData.TotalZQuery do begin
      for I := 0 to RecordCount - 1 do begin
        RecNo := I;
        SiglaPagamento := FieldByName('sigla_forma_pagamento').AsString;
        InsereValoresTotais(SiglaPagamento, FieldByName('total').AsString);
      end;
    end;
    ReceitaEdit.Text := CaixaMovimentacaoData.BuscaTotalEntradaCaixa(IDCaixaEdit.Text);
    DespesaEdit.Text := CaixaMovimentacaoData.BuscaTotalSaidaCaixa(IDCaixaEdit.Text);
    PanelTotal.Caption := FloatToStr(StrToFloatDef(DinheiroEdit.Text, 0) +
      StrToFloatDef(ReceitaEdit.Text, 0) - StrToFloatDef(DespesaEdit.Text, 0));
  end;
end;

procedure TCaixaVendasRecordFrame.FecharActionExecute(Sender: TObject);
begin
  Limpar();
  inherited;
  TheControl.ShowFrame(TMainFrame(CaixaFrame));
end;

procedure TCaixaVendasRecordFrame.InsereValoresTotais(Sigla: string; Valor: string);
begin
  if Sigla = 'D' then begin

    DinheiroEdit.Text := Valor;
  end else if Sigla = 'C' then begin
    ChequeEdit.Text := Valor;
  end else if Sigla = 'T' then begin
    CartaoEdit.Text := Valor;
  end else if Sigla = 'P' then begin
    PrazoEdit.Text := Valor;
  end else if Sigla = 'F' then begin
    TransferenciaEdit.Text := Valor;
  end else if Sigla = 'B' then begin
    BoletoEdit.Text := Valor;
  end;
end;

procedure TCaixaVendasRecordFrame.Limpar();
begin
  DinheiroEdit.Text:='';
  CartaoEdit.Text:='';
  BoletoEdit.Text:='';
  PrazoEdit.Text:='';
  TransferenciaEdit.Text:='';
  BoletoEdit.Text:='';
  CaixaMovimentacaoData.BuscaVendasVazio();
end;


initialization
  {$I caixavendasrecordfr.lrs}

end.
